* {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-overflow-scrolling: touch;
}

button::-moz-focus-inner {
    border: 0 none;
    margin: 0;
    padding: 0;
    outline: none;
}

button {
    border: none;
    background-color: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
}

svg {
    fill: currentColor;
    font: inherit;
    vertical-align: top;
}

.is-fixed {
    z-index: 10 !important
}

input:focus {
    outline: none
}

blockquote {
    border-left: 2px solid #ddd;
    padding-left: .3em;
    line-height: 1.4;
    color: #999;
}

html {
    height: 100%;
}

.weui-tabbar {
    background-color: #333;
    z-index: 9999;
}

.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,
.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,
.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label {
    color: #fff
}

.weui-tabbar__item {
    display: inline-block;
    text-align: center;
    width: 50%;
    height: 55px;
}

.weui-tabbar__item img {
    width: 2rem;
    height: 2rem;
}

.weui-tabbar__icon {
    margin-top: 5px;
}

.weui-tabbar__label {
    font-size: 12px;
    color: #a4a4a4;
}

#app {
    height: 100%;
}

body {
    height: 100%;
    font-family: '-apple-system', "Helvetica Neue", "Roboto", "Segoe UI", "sans-serif", "Helvetica", "STHeiti STXihei", "Microsoft YaHei", "Arial";
    color: #353535;
    padding: 0;
    max-width: 750px;
    line-height: 1.4;
    font-size: 14px !important;
}

.we-header {
    align-items: center;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    font-size: 14px;
    height: 40px;
    line-height: 1;
    padding: 0 10px;
    position: relative;
    text-align: center;
    white-space: nowrap
}

.we-header .we-button {
    background-color: transparent;
    border: 0;
    box-shadow: none;
    color: inherit;
    display: inline-block;
    padding: 0;
    font-size: inherit
}

.we-header .we-button:after {
    content: none
}

.we-header.is-fixed {
    top: 0;
    right: 0;
    left: 0;
    position: fixed;
    z-index: 1
}

.we-header-button {
    flex: .5
}

.we-header-button>a {
    color: inherit
}

.we-header-button.is-right {
    text-align: right
}

.we-header-button.is-left {
    text-align: left
}

.we-header-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: inherit;
    font-weight: 400;
    flex: 1
}

.we-header-title {
    font-size: 1rem;
}

a {
    color: rgba(0, 0, 0, .87);
    text-decoration: none;
}

.page_b {
    padding-bottom: 55px;
}

.page_t {
    padding-top: 40px;
}

.we-header {
    background: #BB2C08;
    max-width: 750px;
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
}

.fixheader {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 2;
}

.fixheader .we-header {
    position: relative;
}

.we-tabbar {
    background: none transparent;
    max-width: 750px;
}

.we-tab-item {
    color: #aaa;
    background-color: rgba(10, 10, 10, .9);
    -webkit-backdrop-filter: blur(15px);
}

.we-tabbar>.we-tab-item.is-selected {
    color: #fff;
    background-color: rgba(10, 10, 10, .9);
}

.tags {
    border: 1px solid #BB2C08;
    color: #BB2C08 !important;
    font-size: .6em;
    line-height: 1;
    margin-right: .3em;
    padding: 0 .3em
}

.box-txt-e {
    text-overflow: ellipsis;
    display: flex;
    overflow: hidden;
}

#pageplay {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: 0;
    background: rgba(33, 33, 33, .8);
    -webkit-backdrop-filter: blur(15px);
    z-index: 100;
    align-items: center;
}

#pp_pic {
    flex: 0 0 70px;
    text-align: center;
    border-radius: 50%;
    padding: 15px;
}

#pp_playing {
    background: rgba(0, 0, 0, .5);
    position: absolute;
    left: 15px;
    z-index: 2;
}

#pageplay img {
    width: 70px;
    height: 70px;
    vertical-align: top
}

#pp_name {
    flex: 1;
    overflow: hidden;
    line-height: 1.6;
    color: #fff;
    font-size: 28px;
}

#pp_name div {
    height: 1.4em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: keep-all
}

#pp_name #ppn_des {
    font-size: 22px;
    color: #eee;
}

#pp_action {
    display: flex;
    align-items: center;
    padding: 0 5px
}

#pp_action .pa-baction {
    padding: 0 5px;
    flex: 0 0 auto
}

#pageplay #pp_next {
    width: 60px;
    height: 60px
}

.page_pp {
    padding-bottom: 100px;
}

.page_loading {
    text-align: center;
    padding: 20px;
    display: block
}

.pp_overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    background: rgba(0, 0, 0, .2);
}

.pp_main {
    background: rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(15px);
    position: fixed;
    z-index: 101;
    width: 100%;
    bottom: 0;
    left: 0;
}

.ppm_header {
    border-bottom: 1px solid #dadada;
    padding: .6em .5em;
    display: flex;
    justify-content: space-between;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ppm_header img {
    vertical-align: middle;
    height: 1.5em;
    margin-right: .2em;
}

.pph_cnt {
    display: flex;
}

.pph_cnt div {
    padding-left: 20px;
}

.ppm_footer {
    border-top: 1px solid #dadada;
    text-align: center;
    padding: .8em;
}

.ppm_content {
    overflow: auto;
    max-height: 20em;
}

.ppm_content .memu .mn_ico img {
    height: 2em;
}

.ppm_content .flexlist .flexmain span {
    font-size: .8em;
}

.userprofiles .flexmain img {
    height: 1.2em;
    margin: 0 .2em;
}

#playingpage {
    background: url('images/cm2_default_play_bg-ip6@2x.jpg') center top no-repeat;
    background-size: 100% auto;
}

#fm-covermain {
    margin: 20% auto 2em;
    border-radius: 1em;
    overflow: hidden;
    position: relative;
    z-index: 3;
    width: 80%;
    height: 0;
    padding-top: 80%;
    background: url('images/fm/cm2_default_cover_fm-ip6@2x.png') center center no-repeat;
    background-size: 100% 100%;
}

#playing-zz {
    text-align: center;
    position: absolute;
    z-index: 20;
    width: 100%;
    top: 0;
    overflow: hidden;
    margin-top: 40px;
}

#playing-zz img {
    width: 30%;
    margin-top: -8%;
    margin-left: 10%;
    margin-bottom: 30px;
    transform: rotate(-20deg);
    transform-origin: 26% 17%;
    transition: all linear .5s;
}

#playing-main {
    margin: 32% auto 0;
    position: relative;
    z-index: 10;
    width: 80%;
    animation-delay: .5s;
    animation: circle 20s linear infinite;
    animation-play-state: paused;
}

#playingmainbg {
    width: 100%;
    position: relative;
    z-index: 1;
}

#pmaincover {
    position: absolute;
    width: 64%;
    left: 18%;
    top: 18%;
    z-index: 3;
    height: 0;
    padding-top: 64%;
    border-radius: 50%;
    overflow: hidden;
    background-size: 100% 100%;
}

#playing-actwrap {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 10;
}

#playing-info {
    display: flex;
    margin: 0 5%;
}

.pi-act {
    flex: 1;
    text-align: center;
    position: relative;
}

.pi-act img {
    width: 50%;
}

#playingaction {
    display: flex;
    margin-bottom: 3%;
}

.pa-baction,
.pa-maction,
.pa-saction {
    flex: 1;
    text-align: center;
    width: 100%
}

.pa-baction img {
    width: 75%;
}

.pa-maction img {
    width: 55%;
    margin-top: 10%
}

.pa-saction img {
    width: 70%;
    margin-top: 5%
}

.playing #playing-main {
    animation-play-state: running !important;
}

.playing #playing-zz img {
    transform: rotate(-0deg);
}

@keyframes circle {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes cnloading {
    0% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(100%)
    }
    100% {
        transform: translateY(0)
    }
}

.ml {
    margin-left: .5em;
}

.flexlist.ml {
    width: 98%;
}

.pw {
    padding-left: .5em;
    padding-right: .5em;
}

.fr {
    float: right;
}

.fc_gray {
    color: #949597;
}

.fc_blue {
    color: blue;
}

#playingpage {
    overflow: hidden;
    height: 100%;
    position: relative;
}

.st_title {
    overflow: hidden;
    margin: .5em 1% .2em;
    line-height: 1.5;
}

.st_title img {
    height: 1.4em;
    vertical-align: middle;
    margin-right: .3em;
}

.st_title .rbtn {
    float: right;
    color: #999;
    font-size: .8em;
    padding-top: .3em;
    line-height: 1;
}

.blurbg {
    filter: blur(30px) brightness(.8);
    background-size: 100% auto;
    background-position: 0 0;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 0;
    padding-top: 100%;
    z-index: -1;
    left: 0;
    top: 0;
    transform: scale(1.2);
    background-color: transparent;
}

.cntloading {
    padding: 1.5em 0;
    text-align: center;
    color: #888;
}

.cntloading div {
    vertical-align: baseline;
    height: 1em;
    overflow: hidden;
    margin-left: 10px;
    overflow: hidden;
    text-align: center;
    display: inline-block;
}

.cntloading span {
    width: 2px;
    height: 80%;
    background-color: #d33a31;
    position: relative;
    margin-right: 0;
    display: inline-block;
    border-radius: 3px;
    animation: cnloading 1s linear infinite;
    transform-origin: center bottom;
    font-size: 0;
}

.cntloading .cl2 {
    animation-delay: -.8s
}

.cntloading .cl3 {
    animation-delay: -.6s
}

.cntloading .cl4 {
    animation-delay: -.4s
}

.cntloading .cl4 {
    animation-delay: -.2s
}

.tab {
    display: flex;
    border-bottom: 1px solid rgba(200, 200, 200, .5);
    background: rgba(240, 240, 240, .8);
    line-height: 3;
    height: 3em;
    -webkit-backdrop-filter: blur(15px);
    justify-content: space-between
}

.we-tabbar {
    -webkit-backdrop-filter: blur(15px);
}

.tab img {
    height: 1em;
}

.tab .tab-item {
    text-align: center;
    flex: auto;
    word-break: keep-all;
    position: relative;
    color: #666;
}

.tab-split .tab-item:after {
    position: absolute;
    right: 0px;
    top: .9em;
    height: 1.2em;
    width: 1px;
    background-color: #dfdfdf;
    content: "";
    overflow: hidden;
}

.tab-split .tab-item:last-child:after {
    display: none;
}

.tab .tab-item .tbi-text {
    display: inline-block;
    padding: 0 .3em;
    vertical-align: top;
    height: 100%;
    box-sizing: border-box;
}

.tab .tab-item .tbi-des {
    display: inline;
    color: #999;
    border-bottom: none;
    font-size: .8em;
    line-height: 1;
    padding-left: .5em;
}

.tab .tbi-cur .tbi-text {
    color: #d33a31;
    border-bottom: 2px solid #d33a31;
}

.tab .tbi-cur {
    margin-bottom: -1px;
}

.ptab {
    display: flex;
    margin: 0 auto;
    background: #BB2C08;
    justify-content: center;
    padding: 0 0 20px;
    width: 100%;
}

.ptab .pt-item {
    text-align: center;
    line-height: 2em;
    padding: 0 1em;
    color: #fff;
    border: 1px solid #fff;
    margin-left: 1px;
    border-radius: 4px 0 0 4px;
    width: 4em;
    margin-left: -1px;
    font-size: 28px;
}

.ptab .pt-item:last-child {
    border-radius: 0 4px 4px 0;
}

.ptab .pt_cur {
    color: #BB2C08;
    border-color: #fff;
    background: #fff;
}

.rec_list {
    display: flex;
    padding: .5em 0 0 .5em;
}

.rec_avatar img {
    width: 3em;
    height: 3em;
    border-radius: 50%;
    max-width: inherit;
}

.rec_main {
    border-bottom: 1px solid #e1e2e3;
    padding: 0 .5em .5em 0;
    margin-left: .5em;
    flex: 1
}

.rec_list:last-child .rec_main {
    border-bottom: none;
}

.rec_main .wxEmoji {
    vertical-align: middle;
}

.rm_header {
    color: #999;
    line-height: 1.5;
    padding-bottom: .3em;
}

.rm_header div {
    float: right;
}

.fmh_time {
    display: block;
    font-size: .8em;
}

.rm_header .fmh_name {
    color: #333;
    display: block
}

.rm_header div img {
    vertical-align: sub;
    height: 1.2em
}

.rm_act {
    display: flex;
    flex-flow: row;
    padding-top: .5em;
    font-size: .8em;
}

.rma_list {
    flex: 1;
    color: #999;
}

.rma_list img {
    width: 1.3em;
    flex: 1;
    margin-right: .5em;
    vertical-align: middle;
}

.rma_list:last-child {
    text-align: right;
    flex: 0 0 auto;
}

.rmc_reply {
    margin: .5em 0 0;
    padding: .5em;
    color: #666;
    background-color: #fdfefe;
    border: 1px solid #e4e4e5
}

.replyname {
    color: #537fb0
}

#lrclist {
    position: absolute;
    left: 1em;
    top: 50px;
    right: 1em;
    bottom: 9em;
    text-align: center;
    overflow: hidden;
    color: #fff;
    z-index: 3;
}

.playinghidden {
    z-index: -1 !important;
    opacity: 0;
    pointer-events: none;
}

#lrcontent {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.noscroll {
    overflow: auto !important;
}

#lrcwrap {
    top: 50%;
    position: absolute;
    width: 100%;
    transition: all ease 1s;
    text-align: center;
    padding-bottom: 20em;
}

#lrcwrap .lrcur {
    opacity: 1;
    transition: all ease 1s;
}

#lrcwrap .siblings1 {
    opacity: .3
}

#lrcwrap .siblings2 {
    opacity: .1;
}

#lrcwrap div {
    line-height: 1.3;
    word-break: break-word;
    opacity: .5;
    overflow: hidden;
    transition: all ease .5s;
    display: flex;
    align-items: center;
    width: 100%;
    text-align: center;
    padding: .4em 0;
}

#lrcwrap .notext {
    text-align: center;
    display: block
}

#lrcwrap div span {
    display: block;
    text-align: center;
    width: 100%
}

#lrclist:after,
#lrclist:before {
    content: "";
    position: absolute;
    left: 0;
    height: 50%;
    top: 0;
    background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, .1));
    opacity: .1;
    display: none;
    width: 100%;
    z-index: 3;
    filter: brightness(.1)
}

#lrclist:after {
    top: auto;
    bottom: 0;
    transform: rotate(180deg)
}

#lrclist .cntloading {
    position: absolute;
    top: 50%;
    color: #fff;
    width: 100%;
    margin-top: -2.5em;
}

.sm_title {
    padding: 0 .5em;
    font-size: .8em;
    display: block;
    color: #6a6a6a;
    background-color: #eeeff0;
    line-height: 2.4;
    overflow: hidden;
}

.sm_title span {
    color: #aaa
}

.commentscount span {
    position: absolute;
    font-size: .8em;
    left: 50%;
    top: 50%;
    margin-left: .5em;
    margin-top: -1.6em;
    color: #fff;
}

.flex-boxlist {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.tl_cnt {
    margin: 1% 1% 1% 0;
    box-sizing: border-box;
    line-height: 1.2;
    flex: 0 0 32.667%;
    overflow: hidden
}

.tl_cnt:nth-child(3n) {
    margin-right: 0;
}

.tl_cnt a {
    display: block
}

.flex-two .tl_cnt {
    flex: 0 0 49.5%;
    margin: 1% 1% 1% 0;
}

.flex-one .tl_cnt {
    flex: 1;
    margin: 0;
}

.flex-two .tl_cnt:nth-child(2n) {
    margin-right: 0;
}

.tl_cnt text {
    color: #666;
}

.tl_cnt .cover .mv_cover,
.tl_cnt .cover .music_cover,
.cover .album_cover,
.cover .def_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.cover {
    position: relative;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    margin-bottom: .5em;
}

.alist_bg {
    background: none !important
}

.cover .img_creator {
    position: absolute;
    right: 0;
    bottom: 0;
    color: #fff;
    z-index: 2;
    width: 100%;
    padding: 1em .5em .5em;
    font-size: .8em;
    box-sizing: border-box;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, .2));
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.cover .img_creator img {
    height: 1.2em
}

.tl_cnt .name {
    line-height: 1.4;
    overflow: hidden;
    word-break: break-all;
    display: block;
    max-height: 2.8em;
    text-overflow: ellipsis;
    padding: 0 .2em;
}

.cover:after {
    height: 50%;
    width: 100%;
    left: 0;
    top: 50%;
    z-index: 1;
    content: "";
    position: absolute;
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .5));
    opacity: .5
}

.disabled {
    color: #aaa;
}

.album .cover {
    padding-top: 85.33%
}

.album .cover::after {
    display: none;
}

.tl_info div {
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.tl_info {
    padding: 0 .2em;
}

.tl_info .tli_des {
    color: #888;
    font-size: 0.8em;
    padding: .3em 0 .5em;
}

.tl_info .tli_des img {
    height: 1em;
    vertical-align: top;
}

.flexlist .flexlist {
    flex: 1;
    padding: .5em .5em .5em 0;
    margin: 0;
    align-items: center;
    margin-left: 0;
    box-sizing: content-box;
    overflow: hidden;
    line-height: 1.5;
    position: relative;
    border-bottom: 1px solid #dadada;
    width: auto;
}

.flexlist .nonebd {
    border-bottom: none;
}

.cur,
.cur .fm_tdes,
.cur .flexmain div span,
.cur .relistdes,
.cur .flexnum {
    color: #BB2C08 !important
}

.flexlist {
    display: flex;
    align-items: stretch;
}

.flexlist .flexlist .flexleft {
    padding-right: .5em
}

.flexleft img {
    vertical-align: middle;
    width: 1.5em;
}

.flex-center {
    align-items: center
}

.flexnum {
    flex: 0 0 3rem;
    color: #999;
    text-align: center;
}

.flexnum span {
    font-size: 1.2em;
}

.flexact {
    text-align: right;
    font-size: .8em;
    color: #999;
    display: flex
}

.flexmain {
    box-sizing: border-box;
    flex: 1;
    overflow: hidden;
}

.fm_tdes {
    font-size: .8em;
    color: #999
}

.flexmain div {
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    white-space: nowrap;
    word-wrap: break-word
}

.flexmain .fm_title {
    white-space: normal;
    max-height: 3em;
    word-break: break-all;
    white-space: normal
}

.flexmain div span {
    color: #999;
}

.flexmain .lname {
    max-height: 2.4em;
    line-height: 1.2;
    white-space: normal;
}

.relistdes {
    color: #999;
    font-size: .8em;
}

.relistdes:nth-child(odd) {
    padding-top: .5em;
}

.relistdes span {
    margin-right: .5em;
}

.relistdes img {
    height: 1.2em;
    vertical-align: middle;
}

.fa_pc {
    opacity: .5;
    padding-right: 15px;
    flex: 1;
    white-space: nowrap;
    font-size: 26px;
    line-height: 1
}

.fa_pc img {
    width: 24px;
    margin-right: 5px
}

.mvs .cover {
    padding-top: 56%
}

.albums .fl-image {
    padding-right: 1em
}

.albums_wrap {
    position: relative;
}

.albums_wrap .al-image {
    position: absolute;
    height: 100%;
    width: 85.33%;
    z-index: 10;
    left: 0;
    top: 0
}

.mvs .fl-image {
    width: 32%;
}

.mvs .fl-image .mv_cover {
    height: auto;
    width: 100%;
}

.zllist .fl-image img {
    width: auto;
}

.albums .fl-image .albums_cover {
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0;
    width: auto
}

.fa_list {
    margin-left: .2em
}

.fa_list img {
    height: 2.3em
}

.fl-image {
    position: relative;
    margin: .3em .5em
}

.flexlist .flexlist .fl-image {
    padding: 0;
    margin: 0 .5em;
}

.fl-image img {
    vertical-align: middle;
    position: relative;
    z-index: 1;
    height: 4em;
    width: 4em;
}

.coverplay {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    line-height: 1;
    transform: translate(-50%, -50%);
}

.radiolist img {
    vertical-align: middle;
    position: relative;
    z-index: 1;
    height: 5em;
    width: auto;
    width: 5em;
}

.fli-poai {
    position: absolute;
    right: -.5em;
    top: -.5em;
    color: #fff;
    border: 2px solid #fff;
    z-index: 2;
    background-color: #d33a31;
    border-radius: 3em;
    height: 1.5em;
    min-width: 1.5em;
    text-align: center;
    line-height: 1.4;
    transform: scale(.8);
}

.img_playcount {
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    z-index: 2;
    font-size: .8em;
    padding: .5em;
    background-image: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, 0));
    width: 100%;
    text-align: right;
    box-sizing: border-box;
}

.img_playcount img {
    vertical-align: baseline;
    margin-right: .2em;
    position: relative;
    height: 1em;
    width: auto;
}

.ip_leftb {
    left: 0;
    bottom: 0;
    right: auto;
    top: auto;
    text-align: left;
    background: none;
}

.ip_rightb {
    bottom: 0;
    top: auto;
    background: none;
    color: #fff;
}

.listheader {
    padding: .5em .5em .3em 0;
    overflow: hidden;
    position: relative;
    display: block;
}

.listheader img {
    height: .8em;
    vertical-align: middle;
    margin-left: .2em;
}

.listheader span {
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
}

.listheader:before {
    display: inline-block;
    width: 2px;
    background-color: red;
    height: 1.2em;
    content: "";
    margin-right: .3em;
    vertical-align: middle;
    border-radius: 2px;
}

#playall .flexlist {
    padding: .5em 0 .5em
}

#pa-count text {
    color: #888;
    font-size: 24px
}

.menu .mn_list {
    display: flex;
    flex-flow: row;
    align-items: stretch;
    width: 100%;
    justify-content: space-around
}

.menu .mn_list:last-child .cmain,
.menu .mn_list:last-child .rdes {
    border: none;
}

.menu .cmain {
    flex: 1;
    border-bottom: 1px solid #e1e2e3;
    display: flex;
    align-items: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding-right: 15px
}

.menu .mn_ico {
    text-align: center;
    padding: .5em
}

.menu .mn_ico img {
    max-height: 2.2em;
}

.menu .arrow {
    display: inline-block;
    margin: 0 .5em;
    vertical-align: middle;
}

.menu img {
    vertical-align: top;
}

.menu .rdes {
    text-align: right;
    border-bottom: 1px solid #e1e2e3;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

#headerblur {
    position: fixed;
    z-index: 5;
    height: 40px;
    top: 0;
    width: 100%;
    overflow: hidden;
    background: #fff;
    max-width: 750px;
}

#plh-cover {
    margin: 0 3% .5em;
    position: relative;
    flex: 0 0 35%;
    height: 0;
    padding-top: 35%;
}

#plh-cover .music_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}

#headerblur .blurbg {
    height: 0;
    padding-top: 100%
}

#plist-header {
    position: relative;
    overflow: hidden;
    padding-top: 40px;
}

#plh-main {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center
}

#plh-playinfo {
    position: absolute;
    z-index: 3;
    right: 5px;
    bottom: 5px
}

#plh-playinfo img {
    height: 1.5em;
    vertical-align: top;
    background-color: rgba(0, 0, 0, .2);
    border-radius: 50%;
}

#user_ava {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    margin-right: .5em;
    vertical-align: middle;
}

#plh-cnt {
    color: #fff;
    flex: 0 0 58%;
    font-size: .8em;
    line-height: 1.8
}

#plh-cnt a {
    color: #fff;
}

#music_h_name {
    padding: 0 0 1em;
    display: block;
    font-size: 1.25em;
}

#plh_action {
    display: flex;
    position: relative;
    z-index: 3;
    clear: both;
    width: 100%;
    line-height: 2;
    text-align: center;
    color: #fff;
}

#plh_action a {
    color: #fff
}

#plh_action div {
    border-bottom: none;
    flex: 1;
}

#plh_action div img {
    width: 4em;
    display: block;
    margin: -.5em auto -1em
}

#plh_action span {
    display: block;
    line-height: 2
}

#artheader {
    background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));
    background-color: transparent;
}

#headerblur {
    background: none;
}

#art_cover {
    transform: scale(1.25)
}

#artist_header {
    position: relative;
    height: 0;
    overflow: hidden;
    z-index: 2;
    padding-top: 62%;
    width: 100%;
    left: 0;
    top: 0;
    max-width: 750px;
    margin-top: -40px;
}

#artist_header>img {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#ahw_wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 5em 1em 1em;
    box-sizing: border-box;
    text-align: right;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, .6))
}

.ahw_btn {
    display: inline-block;
    padding: 0 1.2em 0 1em;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 3em;
    line-height: 2;
    font-size: .8em;
    margin-top: .5em;
    vertical-align: middle;
}

.ahw_btn img {
    height: 2em;
    vertical-align: top;
}

.ahw_name {
    float: left;
    color: #fff;
    text-align: left;
    line-height: 1.6;
}

.ahw_name p {
    color: #aaa;
    font-size: .8em;
}

.hqico {
    background: url(images/cm2_list_sup_hot@2x.png) no-repeat scroll top left;
}

.cover_ico {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    width: 2.5em;
    height: 2.5em;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
}

#catewrap {
    padding: 0 1%;
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    left: 0;
    top: 0;
    background-color: #fff;
    overflow: auto;
}

#closecatelist {
    margin: .5em auto;
}

.catelist {
    margin-bottom: .5em;
    border: 1px solid #eee;
    border-width: 1px 0 0 1px;
}

.catelist:after {
    display: table;
    clear: both;
    content: '';
}

.cl_list {
    text-align: center;
    position: relative;
    z-index: 1;
    width: 25%;
    float: left;
    line-height: 1.5em;
    height: 3.5em;
    padding: 1em 0;
    box-sizing: border-box;
    cursor: pointer;
}

.cl_list:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    border: 1px solid #eee;
    border-width: 0 1px 1px 0;
    display: block;
}

.cl_ico {
    height: 7em;
    padding: 0;
    overflow: hidden;
    padding: 0;
}

.cl_ico span {
    display: block;
    width: 3em;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    line-height: 2;
}

.cl_ico img {
    display: block;
}

#cateall {
    float: none;
    width: auto;
    display: block;
    margin: 0 3px 1em;
}

.cl_ico_checked,
.cl_ico_hot {
    content: "";
    position: absolute;
}

.detail_des {
    padding: 0 .5em 1em;
    color: #444;
    display: block;
    line-height: 1.6;
}

.des_7 {
    /*标题类*/
    text-align: center;
    line-height: 2;
    margin: 20px 0 0;
}

.des_7 span {
    font-size: 7000;
    font-size: 20px;
    border-top: 3px solid #333;
    display: inline-block;
}

.topicfl {
    align-items: center;
    background-color: #f0f0f0;
}

.topicfl .fl-image {
    margin: .5em;
}

.cl_ico_hot {
    background-image: url();
    width: 2em;
    height: 2em;
    left: 0;
    top: 0;
    background-size: 100% auto;
}

.cl_ico_checked {
    background-image: url(images/cm2_discover_slted@2x.png);
    width: 1.5em;
    height: 1.5em;
    right: 0;
    bottom: 0;
    background-size: 100% 100%;
}

.checked {
    z-index: 2
}

.checked:after {
    border-color: #BB2C08;
    border-width: 1px;
    left: -1px;
    top: -1px;
    display: block;
}

.close {
    width: 3em;
    height: 3em;
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url()
}

.arrow {
    width: 16px;
    height: 18px;
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url()
}

.arrow-white {
    width: 12px;
    height: 1em;
    background-image: url()
}

.mv_cover {
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("")
}

.user_avator {
    background-size: cover;
    border-radius: 50%;
    background-image: url()
}

.music_cover {
    background-size: cover;
    background-image: url();
}

.album_cover {
    background-size: cover;
    background-image: url();
}

.el-carousel {
    overflow-x: hidden;
    position: relative
}

.el-carousel__container {
    position: relative;
    height: 300px
}

.el-carousel__arrow {
    border: none;
    outline: 0;
    padding: 0;
    margin: 0;
    height: 36px;
    width: 36px;
    cursor: pointer;
    -webkit-transition: .3s;
    transition: .3s;
    border-radius: 50%;
    background-color: rgba(31, 45, 61, .4);
    color: #fff;
    position: absolute;
    top: 50%;
    z-index: 10;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
    font-size: 12px
}

.el-carousel__arrow--left {
    left: 16px
}

.el-carousel__arrow--right {
    right: 16px
}

.el-carousel__arrow:hover {
    background-color: rgba(31, 45, 61, .23)
}

.el-carousel__arrow i {
    cursor: pointer;
    border: 2px solid #fff;
    border-width: 2px 0 0 2px;
    transform: rotate(-45deg);
    width: 8px;
    height: 8px;
    display: inline-block
}

.el-carousel__arrow--right i {
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.el-carousel__indicators {
    position: absolute;
    list-style: none;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
    z-index: 2
}

.el-carousel__indicators--outside {
    bottom: 26px;
    text-align: center;
    position: static;
    -webkit-transform: none;
    transform: none
}

.el-carousel__indicators--outside .el-carousel__indicator:hover button {
    opacity: .64
}

.el-carousel__indicators--outside button {
    background-color: #b4bccc;
    opacity: .24
}

.el-carousel__indicators--labels {
    left: 0;
    right: 0;
    -webkit-transform: none;
    transform: none;
    text-align: center
}

.el-carousel__indicators--labels .el-carousel__indicator {
    padding: 6px 4px
}

.el-carousel__indicator {
    display: inline-block;
    background-color: transparent;
    padding: 12px 4px;
    cursor: pointer
}

.el-carousel__indicator:hover button {
    opacity: .72
}

.el-carousel__indicator.is-active button {
    opacity: 1;
    background-color: #BB2C08
}

.el-carousel__button {
    display: block;
    opacity: .48;
    background-color: #aaa;
    border: none;
    outline: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    -webkit-transition: .3s;
    transition: .3s;
    padding: 3px;
    border-radius: 50%
}

.carousel-arrow-left-enter,
.carousel-arrow-left-leave-active {
    -webkit-transform: translateY(-50%) translateX(-10px);
    transform: translateY(-50%) translateX(-10px);
    opacity: 0
}

.carousel-arrow-right-enter,
.carousel-arrow-right-leave-active {
    -webkit-transform: translateY(-50%) translateX(10px);
    transform: translateY(-50%) translateX(10px);
    opacity: 0
}

.el-carousel__item,
.el-carousel__mask {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0
}

.el-carousel__item {
    width: 100%;
    display: inline-block;
    overflow: hidden;
    z-index: 0
}

.el-carousel__item.is-active {
    z-index: 2
}

.el-carousel__item.is-animating {
    -webkit-transition: -webkit-transform .4s ease-in-out;
    transition: -webkit-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
    transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out
}

.el-carousel__item--card {
    width: 50%;
    -webkit-transition: -webkit-transform .4s ease-in-out;
    transition: -webkit-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
    transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out
}

.el-carousel__item--card.is-in-stage {
    cursor: pointer;
    z-index: 1
}

.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,
.el-carousel__item--card.is-in-stage:hover .el-carousel__mask {
    opacity: .12
}

.el-carousel__item--card.is-active {
    z-index: 2
}

.el-carousel__mask {
    width: 100%;
    background-color: #fff;
    opacity: .24;
    -webkit-transition: .2s;
    transition: .2s
}
